package data;


import java.util.Observable;

public class Authentification extends Observable {
	Utilisateur u;
	Utilisateur n;
	private boolean nouveau;
	private boolean state;
	
	public Authentification(){
		u = null;
		n = null;
		nouveau = false;
		state = false;
	}
	/**
	 * Fonction qui connecte l'utilisateur
	 * @return 
	 * @param Utilisateur
	 */
	public void authentifie(Utilisateur newu){
		this.n = newu;
		this.nouveau = true;
		state = true;
		setChanged();
        notifyObservers("authentification");
        
    	
        
        
	}
	
	
	public boolean is_nouveau(){
		return this.nouveau;
	}
	
	
	/**
	 * 
	 * Fonction qui connecte l'utilisateur anonyme.
	*@param Aucun Parametre
	* 	
	*  */
	public void setAnon(){
		
		this.u = new Utilisateur();
		u.setIdUtilisateur(-1);
		u.setPseudoUtilisateur("Anonyme");
		u.setPasswordUtilisateur("");
		u.setChronoUtilisateur(0);
		state = false;
		setChanged();
        notifyObservers("userupdate");
    
        
        
	}
	
	public void setUtilisateur(Utilisateur u){
		this.state=true;
		this.nouveau = false;
		this.u = u;
		setChanged();
        notifyObservers("userupdate");
	}
	
	public Utilisateur getUtilisateur(){
		return u;
	}

	public Utilisateur getNewUtilisateur() {
		return this.n;
	}

	public boolean getState() {
		return this.state;
	}

	public void setChronoUser(Temps o) {
		u.setChronoUtilisateur(o.conversion());
		setChanged();
		notifyObservers("chronoupdate");
	}

	
}
